コードベースが数百行を超えると、単なるスクリプトから システムに進化します。認知的負荷を防ぐために、Rustは階層的な モジュールシステム 機能を論理的で管理可能な境界に分割する仕組みを利用しています。
1. スケーラビリティの必須条件
大規模なシステムでは、全体のアーキテクチャを頭の中に保持する必要はありません。モジュールによって実装の詳細を分離し、公開APIを通じて必要な部分のみを提供できます。
2. ダブルクレートアーキテクチャ
1つのRust パッケージ はコンテナとして機能します。ライブラリクレート(src/lib.rs)でコアロジックを、バイナリクレート(src/main.rs)で実行可能エントリポイントを扱うことができます。これにより、 システムが何をするか と ユーザーがどのように操作するか との間に明確な分離が保たれます。
3. 組織構造の基盤
初期化時に cargo new --libを使用することで、モジュール性を最優先にします。レストラン管理システムでは、「フロントオブハウス」(ホスティング)と「バックオブハウス」(調理)が分離され、複数のフロントエンド(CLI、Web、モバイル)が同じコアライブラリロジックを共有できるようになります。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>